package com.nf.dao;

import com.nf.entity.ShowInfo;
import com.nf.util.PagerUtil;
import com.nf.vo.ShowsVo;

import java.util.List;

public interface ShowInfoDao {
    /**
     * 根据影片ID、放映日期，查询影片放映日期当天的所有放映计划
     * @param showDate
     * @return
     */
    public List<ShowInfo> selectByShowDate(String showDate,int filmId);

    /**
     * 查询所有放映计划(非分页)
     * @return
     */
    public List<ShowsVo> selectAll();

    /**
     * 根据放映ID  删除放映计划
     * @param showId
     * @return
     */
    public int delete(int showId);

    /**
     * 根据放映ID 修改放映计划
     * @param showDate
     * @param startTime
     * @param endTime
     * @param price
     * @param showId
     * @return
     */
    public int update(String showDate,String startTime,String endTime,float price,int showId);

    /**
     * 添加放映计划,并查出刚插入放映计划对应的自增列Id的值
     * @param show
     * @return
     */
    public int add(ShowInfo show);

    /**
     * 根据影厅ID， 查询相关的放映计划
     * @param hallId
     * @return
     */
    public List<ShowInfo> selectByHallId(int hallId);

    /**
     * 分页查询
     * @param currentPage   当前页
     * @param pageCount     每页显示的记录数
     * @return
     */
    public PagerUtil<ShowInfo> selectAllByPager(int currentPage, int pageCount);

    /**
     * 获取放映计划的总数（总记录数）
     * @return
     */
    public int getCount();

    /**
     * 模糊查询放映计划
     * @param cond
     * @return
     */
    public List<ShowInfo> selectByLike(String cond);

}
